package com.ziyueyuwen.xiniao.service.baseservice.product;

import com.ziyueyuwen.xiniao.bean.ZyProductStage;
import com.ziyueyuwen.xiniao.bean.product.ProductListVO;
import com.ziyueyuwen.xiniao.service.baseservice.BaseService;

import java.util.List;

/**
 * @author wancheng  on 2019/2/22.
 */
public interface ZyProductStageBaseService extends BaseService {

    /**
     * 主键获取
     * @param id
     * @return
     */
    ZyProductStage selectByPreKey(Integer id);

    /**
     * 单表参数获取
     * @param param
     * @return
     */
    ZyProductStage selectByZyProductStage(ZyProductStage param);

    /**
     * 单表参数获取 多个
     * @param param
     * @return
     */
    List<ZyProductStage> selectListByZyProductStage(ZyProductStage param);

    /**
     * 保存
     * @param stage
     * @return
     */
    Boolean save(ZyProductStage stage);

    /**
     * 保存 返回主键对象
     * @param stage
     * @return
     */
    ZyProductStage saveUseGeneratedKeys(ZyProductStage stage);

    /**
     * 主键 修改
     * @param stage
     * @return
     */
    Boolean updateByPreKey(ZyProductStage stage);

    /**
     * 逻辑删除
     * @param id
     * @return
     */
    Boolean delete(Integer id);

    /**
     * 逻辑删除
     * @param stage
     * @return
     */
    Boolean delete(ZyProductStage stage);

    /**
     * 物理删除
     * @param id
     * @return
     */
    Boolean deleteFromDisk(Integer id);

    /**
     * 获取上架商品的期次
     * @param courseId
     * @return
     */
    List<ZyProductStage> getUpperProductStage(Integer courseId);

}
